define(
    function (require) {
        var BaseFormModel = require('common/FormModel');
        var Data = require('./Data');
        var datasource = require('er/datasource');
        var u = require('underscore');
        var m = require('moment');

        var SURPRISEBOARD = {
            surpriseDashboard: {
                retrieve: function (model) {
                    return model.data().findById().thenGetProperty('data');
                },
                dump: true
            }
        };

        function FormModel() {
            BaseFormModel.apply(this, arguments);
            this.addData(new Data('surpriseDashboardToUser'));
            this.putDatasource(SURPRISEBOARD);
        }

        FormModel.prototype.prepare = function () {
            BaseFormModel.prototype.prepare.call(this);
        }

        FormModel.prototype.save = function(entity) {
            return BaseFormModel.prototype.save.apply(this, arguments);
        };

        FormModel.prototype.validateEntity = function (entity) {
            var errorMsg = [];

            if (errorMsg.length > 0) {
                return errorMsg;
            }
            return BaseFormModel.prototype.validateEntity.apply(this, arguments);
        };

        require('er/util').inherits(FormModel, BaseFormModel);
        return FormModel;
    }
);
